#pragma once

#ifdef __cplusplus
extern "C" {
#endif

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

// 定义任务信息结构体
typedef struct {
    TaskHandle_t task_id;
    char task_name[configMAX_TASK_NAME_LEN];
    double cpu_usage;
    UBaseType_t priority;  // 添加优先级字段
    eTaskState task_state;
    BaseType_t core_id;
} TaskInfo;

// 更新任务信息结构体
void task_info_update(TaskInfo *task_info_array);
void task_info_print_(TaskInfo *task_info_array, UBaseType_t array_size);
void task_info_print();

#ifdef __cplusplus
}
#endif